package com.chinacoal.microservice.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author zhuliang
 * @version V1.0
 * @Description: 房源管理——房间管理
 * @date 2020-11-12 10：05
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "房源管理——房间管理")
public class CcmsSmartleasingRoom implements Serializable {

    @ApiModelProperty(value = "房间主键")
    @TableId(value = "pk_room_id")
    private String pkRoomId;

    @ApiModelProperty(value = "房间名称")
    private String roomName;

    @ApiModelProperty(value = "楼宇外键id")
    private String fkBuildingId;

    @ApiModelProperty(value = "楼层外键id")
    private String fkFloorId;

    @ApiModelProperty(value = "房间房号")
    private String houseNumber;

    @ApiModelProperty(value = "户型外键id")
    private String fkHouseTypeId;

    @ApiModelProperty(value = "费用系数，外键id")
    private String fkCoefficientTemplateId;

    @ApiModelProperty(value = "费用税率模板，外键id")
    private String fkTaxRateTemplateId;

    @ApiModelProperty(value = "房源资产编码")
    private String housingAssetsCode;

    @ApiModelProperty(value = "单元编码")
    private String unitCoding;

    @ApiModelProperty(value = "水费编码")
    private String waterCostCode;

    @ApiModelProperty(value = "电费编码")
    private String electricCostCode;

    @ApiModelProperty(value = "煤气费编码")
    private String coalGasCostCode;

    @ApiModelProperty(value = "创建人")
    private Integer createdBy;

    @ApiModelProperty(value = "创建时间")
    private Date creationDate;

    @ApiModelProperty(value = "最后变更人")
    private Integer lastUpdatedBy;

    @ApiModelProperty(value = "最后变更时间")
    private Date lastUpdateDate;

    @ApiModelProperty(value = "删除标记,默认为'false'")
    private Byte deleteSign;

    @ApiModelProperty(value = "房间状态，外键")
    private String fkRoomStatusId;

    @ApiModelProperty(value = "房间用途,外键")
    private String fkRoomPurpose;

    @ApiModelProperty(value = "联系方式")
    private String contactInformation;

    @ApiModelProperty(value = "出租联系人")
    private String rentalContact;

    @ApiModelProperty(value = "出租状态：0.未出租，1.已出租")
    private Integer rentalStatus;

    @ApiModelProperty(value = "房源图片")
    private String roomPicture;

    @ApiModelProperty(value = "房间租金")
    private BigDecimal roomRent;

    @ApiModelProperty(value = "招租时间")
    private Date rentalTime;

    @ApiModelProperty(value = "是否委托管理，0未委托，1委托")
    private Byte entrust;

    @ApiModelProperty(value = "委托说明")
    private String entrustExplain;




    @ApiModelProperty(value = "房间用途信息（只查询）")
    @TableField(exist = false)
    private String roomPurpose;

    @ApiModelProperty(value = "房间状态信息（只查询）")
    @TableField(exist = false)
    private String status;

    @ApiModelProperty(value = "所在区域信息（只查询）")
    @TableField(exist = false)
    private String addr;

    @ApiModelProperty(value = "楼宇名称（只查询）")
    @TableField(exist = false)
    private String buildingName;

    @ApiModelProperty(value = "区域编号外键(只查询)")
    @TableField(exist = false)
    private String areaNumberId;

    @ApiModelProperty(value = "承租人姓名(只查询)")
    @TableField(exist = false)
    private String tenantName;

    @ApiModelProperty(value = "合同编号(只查询)")
    @TableField(exist = false)
    private String contractNumber;

    @ApiModelProperty(value = "对应的户型信息(只查询)")
    @TableField(exist = false)
    private List<CcmsSmartleasingHouseType> houseTypes;

    @ApiModelProperty(value = "已拆分房源图片数组（只查询）")
    @TableField(exist = false)
    private String[] roomPictureSplit;

    @ApiModelProperty(value = "税率模板名称（只查询）")
    @TableField(exist = false)
    private String taxRateTemplateName;

    @ApiModelProperty(value = "费用模板名称（只查询）")
    @TableField(exist = false)
    private String coefficientName;

    @ApiModelProperty(value = "所在地址（只查询）")
    @TableField(exist = false)
    private String Address;

    @ApiModelProperty(value = "户型信息（只查询）")
    @TableField(exist = false)
    private CcmsSmartleasingHouseType houseType;

    @ApiModelProperty(value = "总楼层（只查询）")
    @TableField(exist = false)
    private Short totalFloor;

    @ApiModelProperty(value = "此房间合同终止的时间")
    @TableField(exist = false)
    private Date endTime;

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "热水费编码")
    private String hotWaterCostCode;

    @ApiModelProperty(value = "设备更换记录")
    @TableField(exist = false)
    private List<CcmsSmartleasingDeviceChange> deviceChanges;
}
